﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class FyysilineIsikTypeV3 : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IFyysilineIsikTypeV3 {
        
        private string @__eesnimi;
        
        private string @__perenimi;
        
        private System.DateTime? @__synniaeg;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRegistrikoodType @__registrikood;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressType @__aadress;
        
        private string @__residentsus;
        
        private string @__email;
        
        public FyysilineIsikTypeV3() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public FyysilineIsikTypeV3(string @eesnimi, string @perenimi, System.DateTime? @synniaeg, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRegistrikoodType @registrikood, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressType @aadress, string @residentsus, string @email) {
            this.@__eesnimi = @eesnimi;
            this.@__perenimi = @perenimi;
            this.@__synniaeg = @synniaeg;
            this.@__registrikood = @registrikood;
            this.@__aadress = @aadress;
            this.@__residentsus = @residentsus;
            this.@__email = @email;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public FyysilineIsikTypeV3(string @eesnimi, string @perenimi) {
            this.@__eesnimi = @eesnimi;
            this.@__perenimi = @perenimi;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected FyysilineIsikTypeV3(IFyysilineIsikTypeV3 @fyysilineIsikTypeV3) {
            this.@__eesnimi = @fyysilineIsikTypeV3.Eesnimi;
            this.@__perenimi = @fyysilineIsikTypeV3.Perenimi;
            this.@__synniaeg = @fyysilineIsikTypeV3.Synniaeg;
            this.@__registrikood = @fyysilineIsikTypeV3.Registrikood;
            this.@__aadress = @fyysilineIsikTypeV3.Aadress;
            this.@__residentsus = @fyysilineIsikTypeV3.Residentsus;
            this.@__email = @fyysilineIsikTypeV3.Email;
        }
        
        public virtual string Eesnimi {
            get {
                return this.@__eesnimi;
            }
            set {
                this.@__eesnimi = value;
            }
        }
        
        public virtual string Perenimi {
            get {
                return this.@__perenimi;
            }
            set {
                this.@__perenimi = value;
            }
        }
        
        public virtual System.DateTime? Synniaeg {
            get {
                return this.@__synniaeg;
            }
            set {
                this.@__synniaeg = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRegistrikoodType Registrikood {
            get {
                return this.@__registrikood;
            }
            set {
                this.@__registrikood = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressType Aadress {
            get {
                return this.@__aadress;
            }
            set {
                this.@__aadress = value;
            }
        }
        
        public virtual string Residentsus {
            get {
                return this.@__residentsus;
            }
            set {
                this.@__residentsus = value;
            }
        }
        
        public virtual string Email {
            get {
                return this.@__email;
            }
            set {
                this.@__email = value;
            }
        }
    }
}
